-- stack: in -- format: 8 (HyperCard 1) -- flags: 0x1000 (none) -- protect password hash: 0 -- maximum user level: 5 (scripting) -- window: Rect(x1=0, y1=0, x2=0, y2=0) -- screen: Rect(x1=0, y1=0, x2=0, y2=0) -- card dimensions: w=0 h=0 -- scroll: x=0 y=0 -- background count: 2 -- first background id: 2754 -- card count: 15 -- first card id: 2971 -- list block id: 7689 -- print block id: 0 -- font table block id: 0 -- style table block id: 0 -- free block count: 0 -- free size: 0 bytes -- total size: 19872 bytes -- stack block size: 4096 bytes -- created by hypercard version: 0x01228000 -- compacted by hypercard version: 0x01228000 -- modified by hypercard version: 0x01228000 -- opened by hypercard version: 0x01228000 -- patterns[0]: 0x0000000000000000 -- patterns[1]: 0x8000000008000000 -- patterns[2]: 0x8800220088002200 -- patterns[3]: 0x8888222288882222 -- patterns[4]: 0x88AA22AA88AA22AA -- patterns[5]: 0xCCAA33AACCAA33AA -- patterns[6]: 0xEEAABBAAEEAABBAA -- patterns[7]: 0xEEBBBBEEEEBBBBEE -- patterns[8]: 0xFFBBFFEEFFBBFFEE -- patterns[9]: 0xFFBBFFFFFFBBFFFF -- patterns[10]: 0x8010022001084004 -- patterns[11]: 0xFFFFFFFFFFFFFFFF -- patterns[12]: 0x8822882288228822 -- patterns[13]: 0x1122448811224488 -- patterns[14]: 0xC4800C6843023026 -- patterns[15]: 0xB130031BD8C00C8D -- patterns[16]: 0xAA00AA00AA00AA00 -- patterns[17]: 0x8822552288225522 -- patterns[18]: 0x8855225588552255 -- patterns[19]: 0x77DD77DD77DD77DD -- patterns[20]: 0x8000000000000000 -- patterns[21]: 0xAA55AA55AA55AA55 -- patterns[22]: 0x038448300C020101 -- patterns[23]: 0x8244394482010101 -- patterns[24]: 0x8814224188412214 -- patterns[25]: 0x8080413E080814E3 -- patterns[26]: 0x22048C7422179810 -- patterns[27]: 0xBE808808EB088880 -- patterns[28]: 0x25C8328964244C92 -- patterns[29]: 0xA29C41BE2AC914EB -- patterns[30]: 0x40A00000040A0000 -- patterns[31]: 0x8040200002040800 -- patterns[32]: 0xAA00800088008000 -- patterns[33]: 0xFF80808080808080 -- patterns[34]: 0x081C22C180010204 -- patterns[35]: 0xFF808080FF080808 -- patterns[36]: 0xF87422478F172271 -- patterns[37]: 0xBF00BFBFB0B0B0B0 -- patterns[38]: 0xFF7FBE5DA2418000 -- patterns[39]: 0xFAF5FAF5A050A050 -- checksum: 0x0 ----- HyperTalk script ----- on lockAll set lockmessages to true set lockrecent to true set lockscreen to true end lockAll -- ——————————————— on unlockAll set lockmessages to false set lockrecent to false set lockscreen to false end unlockAll -- ——————————————— on getSettings global thePort, Speed, dataBits, parity, stopBits set cursor to watch lockAll push this card go to cd "Settings" if the hilite of card button "300 Baud" is true then put 300 into Speed if the hilite of card button "1200 Baud" is true then put 1200 into Speed if the hilite of card button "2400 Baud" is true then put 2400 into Speed if the hilite of card button "4800 Baud" is true then put 4800 into Speed if the hilite of card button "9600 Baud" is true then put 9600 into Speed if the hilite of card button "19200 Baud" is true then put 19200 into Speed if the hilite of card button "Modem Port" is true then put 1 into thePort if the hilite of card button "Printer Port" is true then put 2 into thePort if the hilite of card button "8 Data Bits" is true then put 8 into dataBits if the hilite of card button "7 Data Bits" is true then put 7 into dataBits if the hilite of card button "None" is true then put "N" into parity if the hilite of card button "Odd" is true then put "O" into parity if the hilite of card button "Even" is true then put "E" into parity if the hilite of card button "1 Stop Bit" is true then put 1 into stopBits if the hilite of card button "1.5 Stop Bits" is true then put 1.5 into stopBits if the hilite of card button "2 Stop Bits" is true then put 2 into stopBits pop cd unlockAll end getSettings -- ——————————————— on doConfig global thePort, Speed, dataBits, parity, stopBits getSettings configPort thePort, Speed, dataBits, parity, stopBits if the result contains "error" then answer the result end doConfig -- ——————————————— on openStack global bufferAddr, thePort, Speed, dataBits, parity, stopBits -- initPort returns the address of the serial port's buffer. -- This is so freePort can dispose of the buffer -- when the stack is closed set cursor to watch hide menuBar getSettings initPort thePort if the result contains "error" then answer the result put empty into BufferAddr else put the result into bufferAddr end if doConfig put empty into cd field "console" show message box end openStack -- ——————————————— on closeStack global thePort, bufferAddr freePort thePort, bufferAddr if the result contains "error" then answer the result end closeStack -- ———————————————